#ifndef LIBDEF_H
#define LIBDEF_H

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <stddef.h>
#include <string.h>


/******************************************************************************
 *函数名称：  container_of
 *输入参数：  ptr，结构体某个某个成员的指针
 *			 type，结构体名字
 * 			 member，ptr对应的结构体成员的名字 
 *			 注意：type和member即不是变量也不是字符串，只是个名字，
 *					因此既不能传入变量，也不能用双引号 
 *输出参数：  无 
 *返回值  ：  根据输入的成员指针返回结构体的指针 
 *功能描述：  根据输入的成员指针返回结构体的指针 
 ******************************************************************************/
#ifndef container_of
	#define container_of(ptr, type, member) \
	((type *)((size_t)ptr - (size_t)(&(((type *)0)->member))))	
#endif

#endif
